La SDL (Simple DirectMedia Layer) est une Bibliothèque logicielle permettant de développer des programmes gérant le son, la vidéo, le clavier, la souris et le lecteur CD. Elle a notamment été utilisée pour le portage du jeu Civilization II sous Linux et le jeu Doom sous BeOS.
La bibliothèque est compatible avec le langage C++ nativement et des bindings pour d'autres langages (la liste complète est disponible sur le site officiel).
Elle possède plusieurs bibliothèques annexes gérant chacune des éléments additionnels : images, polices, réseau, sons, etc
Installez le paquet libsdl1.2debian.
(voir plus bas pour une utilisation simple des librairies complémentaires)
Utiliser la commande suivante pour installer SDL2 avec toutes ces libraires:
sudo apt install libsdl2-2.0-0 libsdl2-gfx-1.0-0 libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libsdl2-net-2.0-0 libsdl2-ttf-2.0-0
Installez le paquet libsdl2-dev pour utiliser SDL2 mais le paquet libsdl1.2-dev est toujours utilisable.
Placez-vous dans le répertoire où sont enregistrées vos sources. L'installation d'SDL fourni un petit script sdl-config qui, appelé avec les paramètres –cflags ou –libs, renseigne correctement le compilateur. tapez alors :
gcc -o executable fichier1.c fichier2.c fichier3.c ... `sdl-config --cflags --libs`
gcc peut etre remplacé par g++ si vous programmez en C++.
Pour compiler plusieurs fichiers séparément puis les linker, utilisez :
gcc -c -Wall -Wextra main.c `sdl-config --cflags` gcc -c -Wall -Wextra fichier1.c `sdl-config --cflags` gcc -o executable main.o fichier1.o `sdl-config --libs`
Si vous avez installé le paquet libsdl2-dev et que vous programmez avec SDL2, utilisez sdl2-config au lieu de sdl-config.
Une fois la compilation terminée, vous pourrez lancer votre programme avec :
PATH=.:$PATH executable
Ou, plus simplement, sans modifier la variable PATH, avec :
./executable
Pour installer SDL_image, SDL_ttf et SDL_mixer: installez les paquets
Version stable : apt://libsdl-image1.2,libsdl-mixer1.2, libsdl-ttf2.0-0, libsdl-mixer1.2.
Version en développement : apt://libsdl-image1.2-dev , libsdl-mixer1.2-dev, libsdl-ttf2.0-dev.
Les options respectives à ajouter à la compilation avec GCC (après -lSDLmain -lSDL ou -lSDL2main -lSDL2) sont :
-lSDL_image # pour SDL_image -lSDL_ttf # pour SDL_ttf -lSDL_mixer # pour SDL_mixer
Si vous utilisez la version 2 d'une bibliothèque :
-lSDL2_ttf # par exemple pour SDL2_ttf
Cette librairie annexe permet la gestion de l'audio site officiel de cette librairie
Pour l'installer :
Pour compiler votre programme avec cette bibliothèque vous devez ajouter le link -lSDL_mixer ou -lSDL2_mixer
Exemple si vous développez avec SDL2 et SDL2_mixer :
gcc -o my_program fichier1.c fichier2.c `sdl2-config --cflags --libs` -lSDL2_mixer
Cette librairie est utile pour écrire dans une fenêtre, elle s'appuie sur freetype2 (donc il faut freetype2) Elle a besoin de polices d'écriture, voici des sites où vous pouvez trouver vos polices libres : Google Fonts , FontSquirrel.com , Fontain.org
Pour l'installer :
Pour compiler votre programme avec SDL_ttf, vous devez ajouter le link -lSDL_ttf ou -lSDL2_ttf
Exemple si vous utilisez SDL2 et SDL2_ttf
gcc -o my_program fichier1.c fichier2.c `sdl2-config --cflags --libs` -lSDL2_ttf
Si vous savez déjà programmer en C/C++ et que vous voulez apprendre à utiliser la SDL pour vos programmes, il y a de très bons tutoriels :
Voir aussi, si pour préférez python, la librairie pygame
Contributeurs : lost-in-the-shell, sully.